﻿@using KPIS.GERP.Models.ICM
@using KPIS.GERP.WEB.GIMS.Class
@model PurchaseRequest

@Html.HiddenFor(model => model.PrId)
@Html.HiddenFor(model => model.RecordStatus) 

@if(Model != null)
{
    var LookUpService = new KPIS.GERP.WEB.GIMS.IcmMasLookUpService.IcmMasLookUpServiceClient();
    var durCountSelectList = LookUpService.MasLookUpSelectList(KPIS.GERP.Models.ICM.IcmMasLookUpType.LookUpType.DurationCount);
    var durCountSelectListItem = durCountSelectList.FirstOrDefault(o => o.Value == (Model != null ? Convert.ToString(Model.DurCountId) : ""));
    var durCountWording = durCountSelectListItem == null ? string.Empty : durCountSelectListItem.Text; 
<div class="widget-box">
	<div class="widget-header header-color-blue2">
        <div class="widget-toolbar">
            <a href="#" data-action="collapse" style="color:#fff;font-size:large;" ><i class="icon-chevron-up"></i>  ข้อมูลหลัก</a>
		</div>
    </div>
    <div class="widget-body">
        <div class="widget-body-inner">
			<div class="widget-main form-horizontal">              
                <div>
                    <div class="control-group">
                        <div class="control-label" style="margin-right: 25px;">
                            @(Model.PcTypeId == 1 ? "ใบขอซื้อ" : "ใบขอจ้าง")
                        </div>
                        <div style="margin-top:5px !important;">
                            @* ใส่ชื่อให้พารามิเตอร์ที่จะส่ง ให้ตรงกับชื่อที่จะรับใน Controller ในที่นี้ชื่อ id ไม่อย่างนั้นจะเรียกหาไม่เจอ *@
                            @Html.ActionLink(" รายงานใบขอซื้อ/ขอจ้าง", "ReportPurchaseRequest", new { id = Model.PrId }, new { @class = "btn button-standard-width btn-small btn-blue icon-file bigger-120", role = "button" })
                            @*<button class="btn button-standard-width btn-small btn-blue icon-file bigger-120" role="button" id="btnToGateway"> ส่งข้อมูลให้ระบบ Gateway</button>*@
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            @*@Html.DisplayNameFor(model => model.Code)*@เลขขอซื้อ/จ้าง
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;font-weight: bold;">
                            @Html.DisplayFor(model => model.Code)
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            @Html.DisplayNameFor(model => model.MasPurchaseType.PcTypeName)
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            @Html.DisplayFor(model => model.MasPurchaseType.PcTypeName)
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            @Html.DisplayNameFor(model => model.PcMethodId)
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            <b class="text-error">@Html.DisplayFor(model => model.MasPurchaseMethod.Name)</b>
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            @Resources.GenerallyLocalization.Priority
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            @Html.DisplayFor(model => model.Priority.LookUpName)
                        </div>
                    </div>

                    @{
    var posOfPr = new KPIS.GERP.WEB.GIMS.PurchaseOrderService.PurchaseOrderServiceClient().
        Select(null, new[] { "Bidder.PurchaseRequest" })
        .Where(o => o.RecordStatus != "D"
                             && o.Bidder != null
                             && o.Bidder.PurchaseRequest != null
                             && o.Bidder.PrId == Model.PrId);
                        if (posOfPr.Any())
                        {
                                <div class="control-group">
                                    <div class="control-label">
                                        ใบสั่งซื้อ/จ้าง
                                    </div>
                                    <div class="controls-detail" style="margin-top: 5px !important;">
                                        @foreach (var poOfPr in posOfPr)
                                        {

                                            <a href="@Url.Action("Details", "PurchaseOrder", new {Id = poOfPr.PoId})" title="คลิกเพื่อไปดู PO ที่นำใบซื้อจ้างนี้ไปใช้" target="_blank">
                                                <u>
                                                    @poOfPr.Code - @poOfPr.Name (@KPIS.GERP.Models.SYS.RecordStatus.RecordStatusName(poOfPr.RecordStatus))&nbsp; &nbsp;
                                                    <i class="icon-external-link"></i>
                                                </u>
                                            </a>@:&nbsp;&nbsp;
                                        }
                                    </div>
                                </div>
                        
                        }
                    }
                     
                    <hr />
                    <div class="control-group">
                        <div class="control-label">
                            @Html.DisplayNameFor(model => model.YearType.YearTypeName)
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            @Html.DisplayFor(model => model.YearType.YearTypeName)
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            @Html.DisplayNameFor(model => model.BgYear)
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            @Html.DisplayFor(model => model.BgYear)
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            @Html.DisplayNameFor(model => model.PurchaseDate)
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            @Html.DisplayFor(model => model.PurchaseDate, "DateWithTime")
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            @Html.DisplayNameFor(model => model.Name)
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;font-weight: bold;">
                            @Html.DisplayFor(model => model.Name)
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            @Html.DisplayNameFor(model => model.Reason)
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            @Html.Raw((Model.Reason ?? "").Replace("\n", "<br/>"))
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            วันที่ต้องการใช้งาน
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            @Html.DisplayFor(model => model.RequireDate)
                            @if (Model.DurTypeId == 10)
                            {
                                var task = new GERPContext()
                                    .Tasks
                                    .Include("ApproveProcess")
                                    .OrderByDescending(o => o.TaskId)
                                    .FirstOrDefault(o => o.RefId == Model.PrId && o.ApproveProcess.AppPrcGrpId == 8);
                                @:@Html.DisplayFor(model => model.RequireDuration) วัน นับจาก @durCountWording


                                if (Model.DurCountId == 10) //วันที่สร้างรายการ
                                {
                                    if (Model.CreatedWhen.HasValue)
                                    {
                                        @: (วันที่สร้างรายการ คือ @Model.CreatedWhen.Value.ToString("dd MMM yyyy"))
                                        }
                                }
                                else if (Model.DurCountId == 11) // วันที่ยืนยันรายการ - ส่งขออนุมัติรายการ
                                {
                                    if (task != null && task.CreatedWhen.HasValue)
                                    {
                                        @: (วันที่ยืนยันรายการ คือ @task.CreatedWhen.Value.ToString("dd MMM yyyy"))
                                        }
                                }
                                else if (Model.DurCountId == 12) // วันที่อนุมัติรายการ
                                {
                                    if (task != null && task.ApprovedWhen.HasValue)
                                    {
                                        @: (วันที่อนุมัติรายการ คือ @task.ApprovedWhen.Value.ToString("dd MMM yyyy"))
                                        }
                                }
                                @:&nbsp;
                                }
                            else
                            {
                                @:วันที่ @(Model.RequireDate != null ? Model.RequireDate.Value.ToString("dd MMM yyyy") : "")
                                }
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            ยอดรวม
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            @ViewBag.requestAmountStr บาท
                        </div>
                    </div>
                    <div class="control-group">
                        <div class="control-label">
                            สถานะรายการ
                        </div>
                        <div class="controls-detail" style="margin-top: 5px !important;">
                            <span class="@switch (Model.RecordStatus)
                                            {
                                                case "U": @:text-info
                                                                                                                        break; case "A": @: text-success
                                                                                                                        break; case "W": @: text-warning
                                                                                                                        break; case "P": @: muted
                                                                                                                        break; case "J": @: red
                                                                                                                        break; default: break; } ">
                                @*KPIS.GERP.Models.SYS.RecordStatus.RecordStatusName(Model.RecordStatus)*@
                                @{
                                        var db = new GERPContext(true);
                                        var task2= db.Tasks
                                            .Include(o=>o.CurrentTaskHistory)
                                            .FirstOrDefault(o => o.RefId == Model.PrId &&
                                                                 o.ApproveProcess.AppPrcGrpId == 8
                                                                 && o.RecordStatus != RecordStatus.DeletedStatus);
                                    if (task2 != null)
                                    {
                                        @task2.StatusText
                                    }
                                    else
                                    {
                                        @KPIS.GERP.Models.SYS.RecordStatus.RecordStatusName(Model.RecordStatus)

                                        if (task2 != null && !task2.Completed &&
                                            task2.CurrentTaskHistory != null &&
                                            task2.CurrentTaskHistory.ApproverPosId != null)
                                        {
                                            var empOfPos = db.Employees
                                                .Include(o => o.Position)
                                                .FirstOrDefault(o => o.RecordStatus != "D"
                                                                     && o.PosId == task2.CurrentTaskHistory.ApproverPosId);
                                            if (empOfPos != null)
                                            {
                                                @: โดย @empOfPos.FullName (@empOfPos.Position.PosNo - @empOfPos.Position.Name) เมื่อ @task2.CurrentTaskHistory.CreatedWhen.Value.ToString("dd MMMM yyyy HH:mm")
                                            }
                                        }
                                        else if (task2 != null && task2.Completed &&
                                                 !string.IsNullOrWhiteSpace(task2.CompletedByFullName))
                                        {
                                            @:โดย @task2.CompletedByPosName - @task2.CompletedByFullName เมื่อ @task2.CompletedWhen.Value.ToString("dd MMMM yyyy HH:mm")
                                        }
                                    }
                                    if (task2 != null && Model.RecordStatus != RecordStatus.ReturnedStatus)
                                        {
                                            @:&nbsp;&nbsp;&nbsp;&nbsp;
                                            <a href="@Url.Action("Details", "Task", new {id=task2.TaskId})" target="_blank">
                                                ไปที่หน้าคำขอ <i class="icon-external-link"></i>
                                            </a>
                                        }
                                        else if (Model.RecordStatus == RecordStatus.ReturnedStatus)
                                        {
                                            @:&nbsp;&nbsp;&nbsp;&nbsp;
                                            <a href="@Url.Action("Details", "Task", new {id=task2.TaskId})" target="_blank" style="background-color: rgb(255, 255, 180); 
                                                                                                                                                                                                                                  font-size:14px;
                                                                                                                                                                                                                                  font-weight: bold;                                                                                                                                  ">
                                                ส่งกลับไปขออนุมัติต่อ (ต้องเป็นผู้สร้างคำขอ)<i class="icon-external-link"></i>
                                            </a>
                                        }

                                }

                            </span>&nbsp;
                        </div>
                    </div>
                </div>


        
                <div class="span6">

                </div>

                <div class="clearfix"></div>
            </div>
        </div>
    </div>
</div>
}